Single sourcing is a method of applying condition tags to topics, content in topics, toc books and pages and index entries so that the tag can be included in a build expression to exclude it from a chosen output. For example, a single topic could contain additional information only to be seen in certain outputs, perhaps a printed output needs an image not required in online versions. Essentially it means a single project (source) can produce multiple outputs, each with different content. This is done by using Conditional Tags.
The concept is best explained using an example. Let's say you are producing a knowledge base for your company with some content that applies to everyone, some applies only sales staff and some only applies to admin staff. Also sales staff and admin staff must not see each others content. In that scenario Dynamic Content Filtering would not work as both could see the content for the other. You need to generate separate outputs for each group.
In this example you would to create two condition tags labelled say Sales and Admin.
The screenshot shows the default condition tag groups. You can edit
their names and add or remove the groups in Project Settings.

Here though Audience suits our purposes so click the + icon, select the group in the dropdown that displays and set the color for it.
When you set the color for any
tag, also set the opacity to 50 or lower so that the text is still legible.

With the required tags set up, you now create your content. Here two paragraphs have been set up with content for a specific audience.
Simply select the text to which the condition tag is to be applied, right click and select Apply Condition Tags.

In the Preview you can select specific tags such as Sales to see what the Sales staff would see, the first two paragraphs.
Keep in mind that when
you generate your output, the expression you create there could reverse
that.
You can also set a condition at topic level in the Properties
In Output > Output Settings, click Condition Expressions, then click the + icon to create an expression.

As you drag tags, by default Adobe RoboHelp 2019
will set the tag to be excluded and additional tags will be set to be
AND.
Thus if you drag both Sales and Admin, by default the expression will be Exclude Sales AND Exclude Admin. However, you can easily change Exclude to Include and you can change AND to OR.
By using different expressions, you can generate different outputs for different audiences, such as in the example above, or you could apply the Print condition tag to images and then exclude the images from online help but include them in Printed Documentation and so on.
In the Output Presets you can either select the required expression each time you generate or you can create one or more presets and set each one up with a specific expression. In this example you might set up Responsive HTML5 Sales and Responsive HTML5 Admin.